﻿/**
* Control de una galeria, Se encarga de administrar los procesos de carga y páginación de objetos
*/

import com.neshumah.Util.ObjectsList;
import com.gskinner.events.GDispatcher;
import com.gskinner.net.XML2;

// Clases relacionadas con imagenes

class com.neshumah.gallery.UIGallery {
	var listado:ObjectsList;
	
	private var _listadoMcs:ObjectsList;
	
	private var _listadoOK:Boolean;
	
	private var _root:MovieClip;
	
	
	function UIGallery(root){
		_root=root;
	}
	
	function setItemsData(lista:ObjectsList){
		listado=lista;
		_listadoOK = true;
	}
	
	function getDisplayItems(paginacion,pagina){
		if(!_listadoOK)
			return;
		
		var cuantasPaginas=pageCount(paginacion);
		
		if(pagina > 0 && pagina<=cuantasPaginas){
			
			var fin=(pagina*paginacion)-1;
			var inicio=fin-(paginacion-1);
			
			if(fin > listado.count ){
				fin =listado.count;
			}
			//trace(inicio+" : "+fin);
			
			var i=inicio;
			var nu=new ObjectsList();
			
			for(i=inicio; i<=fin; i++){
				nu.add( listado.retrive(i) );
			}
		}
		
		return nu;
		
	}
	
	function pageCount(paginacion){
		return Math.ceil(listado.count / paginacion);
	}
	
	function addMovieClip(elem){
		if(!_listadoMcs){
			_listadoMcs=new ObjectsList();
		}
		
		_listadoMcs.add(elem);
	}
	
	function clearMovieClips(){
		var itm;
		_listadoMcs.reset();
		while(itm =  _listadoMcs.next() ){
			itm.removeMovieClip();
		}
		
	}
	function getCompleteList(){
		return listado;
	}
}